1. Field of the Invention
Embodiments of the invention relate to managing access to shared resources on a computer system. More specifically, embodiments of the invention relate to techniques for managing process threads using a method for timeout waits on user-implemented locks.
2. Description of the Related Art
Computers typically include a main memory for storing programs and a processor for executing the programs stored in the main memory. The processor may schedule and execute multiple threads, and each thread is used to perform a computing task. For example, a plurality of threads may be used to execute an application such as a video game which performs three-dimensional graphics rendering, sound effects, physics simulations, player input/output, and other functions.
In a multithreaded computing environment, each thread may access data resources stored in shared memory. Such data resources may be “locked,” meaning that they are reserved for exclusive use by a single thread for a given task or duration. Once the lock is released, another thread may access the resource. The use of a lock reduces the likelihood of the resource becoming corrupted by unintended interactions between multiple threads accessing the resource concurrently.